package com.molichuxing.services.property;

/**
 * 订单支付类型枚举
 *
 * @author zoumingyu
 * @date 2019年8月13日
 */
public enum PaymentPayWayEnum {

    /************************************ 大屏支付 ******************************************/
    /**
     * 大屏-微信
     */
    AIO_WXPAY(11, "智能终端-微信"),
    /**
     * 大屏-支付宝
     */
    ALPAY_AIO(12, "智能终端-支付宝"),
    /**
     * 大屏-pos机方式
     */
    AIO_POS(13, "智能终端-pos机"),
    /**
     * 智能终端-密码键盘
     */
    AIO_KEYBOARD(14, "智能终端-密码键盘"),
    /************************************ 微信支付 ******************************************/
    /**
     * 微信-H5
     */
    WXPAY_MWEB(21, "微信-H5"),
    /**
     * 微信-APP
     */
    WXPAY_APP(22, "微信-APP"),
    /**
     * 微信-公众号
     */

    WXPAY_JSAPI(23, "微信-公众号"),
    /**
     * 微信-扫码
     */
    WXPAY_NATIVE(24, "微信-扫码"),
    /**
     * 微信-小程序
     */
    WXPAY_APPLET(25, "微信-小程序"),

    /************************************ 支付宝支付 ******************************************/
    /**
     * 支付宝-H5
     */
    ALPAY_MWEB(31, "支付宝-H5"),
    /**
     * 支付宝-APP
     */
    ALPAY_APP(32, "支付宝-APP"),
    /************************************ 银联支付 ******************************************/
	/**
	 * 银联-H5
	 */
	UNIONPAY_MWEB(51, "银联-H5"),
    /**
     * 银联-APP
     */
    UNIONPAY_APP(52, "银联-APP"),
    /************************************ 线下支付 ******************************************/
    /**
     * 线下支付
     */
    OFFLINE(41, "线下支付");

    int value;
    String name;

    PaymentPayWayEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }


    /**
     * 通过value获取枚举的name
     *
     * @param value
     * @return
     */
    public static String getName(int value) {
        PaymentPayWayEnum enumerate = getEnum(value);
        return enumerate == null ? null : enumerate.getName();
    }

    /**
     * 通过value获取枚举
     *
     * @param value
     * @return
     */
    public static PaymentPayWayEnum getEnum(int value) {
        for (PaymentPayWayEnum enumerate : PaymentPayWayEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate;
            }
        }
        return null;
    }
}
